En el presente trabajo nos proponemos analizar como impactó el aumento de los precios en el mercado de alquileres a partir de la nueva ley de alquileres (Ley 27.551 del Código Civil y Comercial de la Nación) promulgada el 30 de junio de 2020.

Importamos el dataset de Properati para analizar la evolución de los precios

library(tidyverse)
library(sf)
library(leaflet)
library(ggmap)
library(lubridate)
library(dplyr)
library(osmdata)
googleapi_data_properati <- vroom::vroom("https://storage.googleapis.com/properati-data-public/ar_properties.csv.gz")

Veamos sus columnas y valores resumidos

summary(googleapi_data_properati)
##       id              ad_type            start_date        
##  Length:1000000     Length:1000000     Min.   :2020-05-24  
##  Class :character   Class :character   1st Qu.:2020-08-28  
##  Mode  :character   Mode  :character   Median :2020-11-14  
##                                        Mean   :2020-11-29  
##                                        3rd Qu.:2021-03-11  
##                                        Max.   :2021-06-17  
##                                                            
##     end_date            created_on              lat              lon         
##  Min.   :2020-05-24   Min.   :2020-05-24   Min.   :-54.84   Min.   :-122.54  
##  1st Qu.:2020-10-25   1st Qu.:2020-08-28   1st Qu.:-34.72   1st Qu.: -58.88  
##  Median :2021-04-05   Median :2020-11-14   Median :-34.59   Median : -58.49  
##  Mean   :3688-04-29   Mean   :2020-11-29   Mean   :-34.38   Mean   : -59.49  
##  3rd Qu.:2021-06-30   3rd Qu.:2021-03-11   3rd Qu.:-34.42   3rd Qu.: -58.40  
##  Max.   :9999-12-31   Max.   :2021-06-17   Max.   : 49.63   Max.   : 180.00  
##                                            NA's   :105767   NA's   :105809   
##       l1                 l2                 l3                 l4           
##  Length:1000000     Length:1000000     Length:1000000     Length:1000000    
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##                                                                             
##       l5               l6              rooms           bedrooms     
##  Length:1000000     Mode:logical   Min.   : 1.00    Min.   :-16.0   
##  Class :character   NA's:1000000   1st Qu.: 2.00    1st Qu.:  1.0   
##  Mode  :character                  Median : 3.00    Median :  2.0   
##                                    Mean   : 2.92    Mean   :  2.1   
##                                    3rd Qu.: 4.00    3rd Qu.:  3.0   
##                                    Max.   :40.00    Max.   :900.0   
##                                    NA's   :285821   NA's   :350067  
##    bathrooms      surface_total      surface_covered          price          
##  Min.   : 1.00    Min.   :  -136.0   Min.   :      -130   Min.   :0.000e+00  
##  1st Qu.: 1.00    1st Qu.:    50.0   1st Qu.:        45   1st Qu.:3.800e+04  
##  Median : 1.00    Median :    95.0   Median :        78   Median :9.700e+04  
##  Mean   : 1.71    Mean   :   513.8   Mean   :     11656   Mean   :3.461e+05  
##  3rd Qu.: 2.00    3rd Qu.:   250.0   3rd Qu.:       168   3rd Qu.:2.100e+05  
##  Max.   :20.00    Max.   :200000.0   Max.   :2147483647   Max.   :3.100e+09  
##  NA's   :234878   NA's   :522169     NA's   :512244       NA's   :41757      
##    currency         price_period          title           description       
##  Length:1000000     Length:1000000     Length:1000000     Length:1000000    
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##                                                                             
##  property_type      operation_type    
##  Length:1000000     Length:1000000    
##  Class :character   Class :character  
##  Mode  :character   Mode  :character  
##                                       
##                                       
##                                       
## 

Procederemos a un plan de limpieza y análisis de datos:

Hay bastantes columnas y valores por limpiar. Varias columnas no son de nuestro interés, como Título y descripción de la publicación, así como tampoco nos interesan los valores sin ubicación (latitud y longitud) así como las publicaciones sin precio. Adicionalmente, nos interesa quedarnos con un dataset de Argentina, y los tipos de propiedad para vivienda.

clean_data_properati <- filter(googleapi_data_properati, !is.na(lat), !is.na(lon), !is.na(price), !is.na(currency), l1=="Argentina", !price_period=="Semanal", !currency=="COP", property_type=="Departamento" | property_type=="PH" | property_type=="Casa")
clean_data_properati <- select(clean_data_properati, !title & !description & !id & !ad_type)
clean_data_properati <- clean_data_properati %>% mutate(operation_type = case_when(operation_type == "Alquiler temporal" ~ "Alquiler", operation_type == "Alquiler" ~ "Alquiler", operation_type == "Venta" ~ "Venta"))

Vemos que el dataset bajó considerablemente. Ahora tenemos que convertir las variables de caracteres en factores para poder analizarlos correctamente.

clean_data_properati <- clean_data_properati %>% mutate_if(is.character,as.factor)
summary(clean_data_properati)
##    start_date            end_date            created_on        
##  Min.   :2020-05-24   Min.   :2020-05-24   Min.   :2020-05-24  
##  1st Qu.:2020-09-19   1st Qu.:2020-10-29   1st Qu.:2020-09-19  
##  Median :2020-12-08   Median :2021-04-13   Median :2020-12-08  
##  Mean   :2020-12-14   Mean   :3058-06-13   Mean   :2020-12-14  
##  3rd Qu.:2021-03-23   3rd Qu.:2021-06-05   3rd Qu.:2021-03-23  
##  Max.   :2021-06-17   Max.   :9999-12-31   Max.   :2021-06-17  
##                                                                
##       lat              lon                  l1        
##  Min.   :-54.83   Min.   :-101.11   Argentina:253430  
##  1st Qu.:-34.63   1st Qu.: -58.74                     
##  Median :-34.58   Median : -58.48                     
##  Mean   :-34.31   Mean   : -59.33                     
##  3rd Qu.:-34.44   3rd Qu.: -58.41                     
##  Max.   : 23.13   Max.   : -54.13                     
##                                                       
##                         l2               l3                         l4        
##  Capital Federal         :99523   Palermo : 18627   Nordelta         :  5382  
##  Bs.As. G.B.A. Zona Norte:52705   Rosario : 18384   La Plata         :  4631  
##  Bs.As. G.B.A. Zona Sur  :28226   Tigre   : 15973   Olivos           :  2660  
##  Santa Fe                :21283   Belgrano: 14610   Nueva Córdoba    :  2589  
##  Bs.As. G.B.A. Zona Oeste:15547   Córdoba :  9868   Palermo Hollywood:  2498  
##  Córdoba                 :14810   (Other) :171612   (Other)          : 65535  
##  (Other)                 :21336   NA's    :  4356   NA's             :170135  
##                  l5            l6              rooms          bedrooms     
##  BarrioPortezuelo :   425   Mode:logical   Min.   : 1.00   Min.   :  0.00  
##  Barrio Los Alisos:   294   NA's:253430    1st Qu.: 2.00   1st Qu.:  1.00  
##  Barrio El Golf   :   289                  Median : 3.00   Median :  2.00  
##  Barrio Los Sauces:   167                  Mean   : 3.06   Mean   :  2.21  
##  Barrio La Alameda:   153                  3rd Qu.: 4.00   3rd Qu.:  3.00  
##  (Other)          :   892                  Max.   :40.00   Max.   :153.00  
##  NA's             :251210                  NA's   :33266   NA's   :37246   
##    bathrooms      surface_total      surface_covered         price          
##  Min.   : 1.000   Min.   :  -136.0   Min.   :     -130   Min.   :0.000e+00  
##  1st Qu.: 1.000   1st Qu.:    47.0   1st Qu.:       44   1st Qu.:4.000e+04  
##  Median : 1.000   Median :    75.0   Median :       70   Median :1.050e+05  
##  Mean   : 1.676   Mean   :   156.4   Mean   :     1375   Mean   :3.139e+05  
##  3rd Qu.: 2.000   3rd Qu.:   151.0   3rd Qu.:      139   3rd Qu.:2.150e+05  
##  Max.   :20.000   Max.   :175000.0   Max.   :111111111   Max.   :3.100e+09  
##  NA's   :13754    NA's   :75678      NA's   :58242                          
##  currency      price_period         property_type     operation_type  
##  ARS: 64507   Mensual:253430   Casa        : 74926   Alquiler: 76585  
##  USD:188923                    Departamento:164203   Venta   :176845  
##                                PH          : 14301                    
##                                                                       
##                                                                       
##                                                                       
## 

Tenemos que llevar las publicaciones a una misma unidad de medida monetaria, sea en pesos o en dólares, para poder compararlas por barrio y en el tiempo.

dolar_bcra <- readxl::read_xlsx("DOLAR.BCRA.xlsx")

Adjuntemos la cotización que tenia el dolar en cada fecha para la publicación del inmueble en ese día

unif_data_properati <- left_join(clean_data_properati, dolar_bcra, by=c("created_on"="Fecha"))
summary(unif_data_properati)
##    start_date            end_date            created_on                 
##  Min.   :2020-05-24   Min.   :2020-05-24   Min.   :2020-05-24 00:00:00  
##  1st Qu.:2020-09-19   1st Qu.:2020-10-29   1st Qu.:2020-09-19 00:00:00  
##  Median :2020-12-08   Median :2021-04-13   Median :2020-12-08 00:00:00  
##  Mean   :2020-12-14   Mean   :3058-06-13   Mean   :2020-12-14 03:56:38  
##  3rd Qu.:2021-03-23   3rd Qu.:2021-06-05   3rd Qu.:2021-03-23 00:00:00  
##  Max.   :2021-06-17   Max.   :9999-12-31   Max.   :2021-06-17 00:00:00  
##                                                                         
##       lat              lon                  l1        
##  Min.   :-54.83   Min.   :-101.11   Argentina:253430  
##  1st Qu.:-34.63   1st Qu.: -58.74                     
##  Median :-34.58   Median : -58.48                     
##  Mean   :-34.31   Mean   : -59.33                     
##  3rd Qu.:-34.44   3rd Qu.: -58.41                     
##  Max.   : 23.13   Max.   : -54.13                     
##                                                       
##                         l2               l3                         l4        
##  Capital Federal         :99523   Palermo : 18627   Nordelta         :  5382  
##  Bs.As. G.B.A. Zona Norte:52705   Rosario : 18384   La Plata         :  4631  
##  Bs.As. G.B.A. Zona Sur  :28226   Tigre   : 15973   Olivos           :  2660  
##  Santa Fe                :21283   Belgrano: 14610   Nueva Córdoba    :  2589  
##  Bs.As. G.B.A. Zona Oeste:15547   Córdoba :  9868   Palermo Hollywood:  2498  
##  Córdoba                 :14810   (Other) :171612   (Other)          : 65535  
##  (Other)                 :21336   NA's    :  4356   NA's             :170135  
##                  l5            l6              rooms          bedrooms     
##  BarrioPortezuelo :   425   Mode:logical   Min.   : 1.00   Min.   :  0.00  
##  Barrio Los Alisos:   294   NA's:253430    1st Qu.: 2.00   1st Qu.:  1.00  
##  Barrio El Golf   :   289                  Median : 3.00   Median :  2.00  
##  Barrio Los Sauces:   167                  Mean   : 3.06   Mean   :  2.21  
##  Barrio La Alameda:   153                  3rd Qu.: 4.00   3rd Qu.:  3.00  
##  (Other)          :   892                  Max.   :40.00   Max.   :153.00  
##  NA's             :251210                  NA's   :33266   NA's   :37246   
##    bathrooms      surface_total      surface_covered         price          
##  Min.   : 1.000   Min.   :  -136.0   Min.   :     -130   Min.   :0.000e+00  
##  1st Qu.: 1.000   1st Qu.:    47.0   1st Qu.:       44   1st Qu.:4.000e+04  
##  Median : 1.000   Median :    75.0   Median :       70   Median :1.050e+05  
##  Mean   : 1.676   Mean   :   156.4   Mean   :     1375   Mean   :3.139e+05  
##  3rd Qu.: 2.000   3rd Qu.:   151.0   3rd Qu.:      139   3rd Qu.:2.150e+05  
##  Max.   :20.000   Max.   :175000.0   Max.   :111111111   Max.   :3.100e+09  
##  NA's   :13754    NA's   :75678      NA's   :58242                          
##  currency      price_period         property_type     operation_type  
##  ARS: 64507   Mensual:253430   Casa        : 74926   Alquiler: 76585  
##  USD:188923                    Departamento:164203   Venta   :176845  
##                                PH          : 14301                    
##                                                                       
##                                                                       
##                                                                       
##                                                                       
##  Tipo de Cambio de Referencia - en Pesos - por Dólar
##  Min.   :68.26                                      
##  1st Qu.:75.32                                      
##  Median :81.65                                      
##  Mean   :82.72                                      
##  3rd Qu.:91.36                                      
##  Max.   :95.35                                      
##  NA's   :45097

Como a partir del 2020 ya en Argentina existía el recargo del 30% y del 35% a la compra de dólares, empujando la brecha cambiaria del dolar “blue”, y considerando que los precios de las propiedades por el efecto especulativo se calcularon históricamente en base al dolar “blue”, debiéramos tener en cuenta ese recargo del 65% para el tipo de cambio

unif_data_properati <- unif_data_properati %>%
  rename("Cotiz_dolar"="Tipo de Cambio de Referencia - en Pesos - por Dólar")
arg_data_properati <- unif_data_properati %>% mutate(Cotiz_dolar=Cotiz_dolar*1.65)
summary(arg_data_properati$Cotiz_dolar)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   112.6   124.3   134.7   136.5   150.7   157.3   45097

Vemos que tenemos algunos NA, eso se debe a que la fecha de publicación de la propiedad fue un sábado, domingo, o feriado, por lo que el BCRA no emitió cotización para ese día en su informe. Tendremos que colocar la cotización del día más cercano

arg_data_properati %>% arrange(created_on, desc())
## # A tibble: 253,430 x 22
##    start_date end_date   created_on            lat   lon l1    l2    l3    l4   
##    <date>     <date>     <dttm>              <dbl> <dbl> <fct> <fct> <fct> <fct>
##  1 2020-05-24 2020-06-25 2020-05-24 00:00:00 -34.9 -58.6 Arge~ Bs.A~ Ezei~ Coun~
##  2 2020-05-24 2020-05-30 2020-05-24 00:00:00 -32.6 -60.2 Arge~ Entr~ Vict~ <NA> 
##  3 2020-05-24 2020-11-26 2020-05-24 00:00:00 -34.6 -58.4 Arge~ Capi~ Pale~ Pale~
##  4 2020-05-24 2020-06-25 2020-05-24 00:00:00 -34.6 -58.4 Arge~ Capi~ Pale~ Pale~
##  5 2020-05-24 2020-06-15 2020-05-24 00:00:00 -34.6 -58.4 Arge~ Capi~ Pale~ Pale~
##  6 2020-05-24 2020-07-21 2020-05-24 00:00:00 -32.9 -60.7 Arge~ Sant~ Rosa~ <NA> 
##  7 2020-05-24 2020-06-11 2020-05-24 00:00:00 -32.9 -60.6 Arge~ Sant~ Rosa~ <NA> 
##  8 2020-05-24 2020-05-27 2020-05-24 00:00:00 -33.0 -60.6 Arge~ Sant~ Rosa~ <NA> 
##  9 2020-05-24 2020-06-15 2020-05-24 00:00:00 -34.6 -58.4 Arge~ Capi~ Belg~ <NA> 
## 10 2020-05-24 2020-06-15 2020-05-24 00:00:00 -34.9 -58.0 Arge~ Bs.A~ La P~ La P~
## # ... with 253,420 more rows, and 13 more variables: l5 <fct>, l6 <lgl>,
## #   rooms <dbl>, bedrooms <dbl>, bathrooms <dbl>, surface_total <dbl>,
## #   surface_covered <dbl>, price <dbl>, currency <fct>, price_period <fct>,
## #   property_type <fct>, operation_type <fct>, Cotiz_dolar <dbl>
arg_data_properati <- arg_data_properati %>% 
  fill(Cotiz_dolar)
arg_data_properati <- arg_data_properati %>% 
  fill(Cotiz_dolar, .direction = "downup")
summary(arg_data_properati$Cotiz_dolar)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   112.6   123.5   135.5   136.2   150.5   157.3

Llevamos todos los precios a pesos argentinos para trabajar en la misma unidad de medida y poder comparar

arg_data_properati <- arg_data_properati %>% mutate(precio = case_when(currency == "USD" ~ price*Cotiz_dolar, currency == "ARS" ~ price))
summary(arg_data_properati$precio)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
## 0.000e+00 1.724e+05 1.331e+07 2.242e+07 2.764e+07 3.714e+09
options(scipen = 10)
ggplot(data = arg_data_properati) + geom_histogram(aes(x = precio))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Generamos la variable de ‘precioxm2’ que nos servirá para futuros análisis en distintas ciudades

summary(arg_data_properati$surface_covered)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max.      NA's 
##      -130        44        70      1375       139 111111111     58242
arg_data_properati$surface_covered[is.na(arg_data_properati$surface_covered)] <- mean(arg_data_properati$surface_covered,na.rm=TRUE)
summary(arg_data_properati$surface_covered)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
##      -130        50       100      1375       385 111111111
arg_data_properati <- arg_data_properati %>% filter(surface_covered>0)
summary(arg_data_properati$surface_covered)
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
##         1        50       100      1375       385 111111111
arg_data_properati <- arg_data_properati %>% mutate(precioxm2 = precio/surface_covered)
summary(arg_data_properati$precioxm2)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##        0     1200   129715   188993   289848 88558833

Analizamos la evolución de la variable

class(arg_data_properati$created_on)
## [1] "POSIXct" "POSIXt"
arg_data_properati <- arg_data_properati %>% 
  mutate(fecha=as.Date(as.character(as.POSIXct(created_on))))
class(arg_data_properati$fecha)
## [1] "Date"

Para un análisis más agregado, necesitamos verlo por año y mes. Realizamos un gráfico “estándar” que nos servirá para cuando subdividamos el análisis.

arg_data_properati <- arg_data_properati %>% 
  mutate(año_mes = str_sub(fecha, 1 , 7)) %>% 
  mutate(fecha = ymd(glue::glue("{año_mes}-01")))
arg_data_properati %>% 
  group_by(fecha) %>%
  summarise(precioprom=round(mean(precio))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=precioprom))+
  geom_point(aes(fecha, y=precioprom))+
  geom_text(aes(fecha, y=precioprom+300000, label=precioprom), size=5)+
  labs(title = "Evolución de la variable precio - Prueba de gráfico base", 
       subtitle  = "Fuentes: PROPERATI")

Ya tenemos la variable fecha, y los precios comparables en todos los registros. Continuando, nos aseguramos que tenemos los datos de Argentina, sin filtraciones

geo_arg_data_properati <- st_as_sf(arg_data_properati,coords=c("lon","lat"), crs=4326)
ggplot(geo_arg_data_properati)+
  geom_sf() +
  labs(title = "Mapa base", 
       subtitle  = "Fuentes: Properati")

Vemos que tenemos un outlier. Deberemos filtrarlo y eliminarlo de nuestro dataset

limites_arg <- read_sf("pais.shp")
limites_arg <- st_transform(limites_arg, 4326)
geo_arg_data_properati <- mutate(st_join(geo_arg_data_properati, limites_arg))
## although coordinates are longitude/latitude, st_intersects assumes that they are planar
## Warning in st_is_longlat(x): bounding box has potentially an invalid value range
## for longlat data
## although coordinates are longitude/latitude, st_intersects assumes that they are planar
geo_arg_data_properati <- filter(geo_arg_data_properati, !is.na(entidad))
ggplot(geo_arg_data_properati)+
  geom_sf() +
  labs(title = "Mapa base", 
       subtitle  = "Fuentes: Properati")

Ahora dividimos nuestro dataset entre las publicaciones que corresponden a Capital Federal y aquellas que no

data_properati_non_CABA <- filter(geo_arg_data_properati, !l2=="Capital Federal")
data_properati_CABA <- filter(geo_arg_data_properati, l2=="Capital Federal")

Finalmente tenemos el dataset con el que queremos trabajar nuestros análisis. Sin embargo, tenemos que mapearlo primero para asegurarnos de ello.

barrios <- read_sf("barrios.geojson")
barrios <- st_transform(barrios, 4326)
ggplot()+
  geom_sf(data=barrios) +
  geom_sf(data=data_properati_CABA) +
  theme_minimal() +
  theme(legend.title=element_text(size=8))+
  labs(title = "Mapa base", 
       subtitle  = "Fuente: Properati")

Haremos un join espacial con el dataset de Barrios para quedarnos con las propiedades de la Ciudad Autónoma de Buenos Aires

data_properati_CABA <- mutate(st_join(data_properati_CABA, barrios))
## although coordinates are longitude/latitude, st_intersects assumes that they are planar
## although coordinates are longitude/latitude, st_intersects assumes that they are planar
data_properati_CABA <- filter(data_properati_CABA, !is.na(barrio))

Mapeamos nuevamente

ggplot()+
  geom_sf(data=barrios) +
  geom_sf(data=data_properati_CABA) +
  theme_minimal() +
  theme(legend.title=element_text(size=8))+
  coord_sf(datum = NA)+
  labs(title = "Mapa base", 
       subtitle  = "Fuente: Properati")

Nos será conveniente dividir el dataset en dos. Por un lado venta, y por otro lado alquileres. Fundamentalmente esto se debe a que los Alquileres se publican en pesos y las Ventas de inmuebles en dólares.

data_properati_CABA_venta <- filter(data_properati_CABA, operation_type == "Venta")
data_properati_CABA_alq <- filter(data_properati_CABA, !operation_type == "Venta")
ggplot(data = data_properati_CABA_venta) + geom_histogram(aes(x = precio))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

ggplot(data = data_properati_CABA_alq) + geom_histogram(aes(x = precio))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

Ahora procederemos a realizar los gráficos y análisis correspondientes para responder nuestros interrogantes de investigación

Evolución de Capital Federal

Gráfico de líneas con el precio promedio de alquiler mes a mes (enero 2020 - mes actual 2021/22)

data_properati_CABA_alq %>% 
  group_by(fecha) %>%
  summarise(precioprom=round(mean(precio))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=precioprom))+
  geom_point(aes(fecha, y=precioprom))+
  geom_text(aes(fecha, y=precioprom+5000, label=precioprom), size=3)+
  labs(title = "Evolución de la variable precio - Capital Federal 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

Conclusiones del gráfico: Vemos que los valores promedio están bastante elevados para lo que son los alquileres en CABA, incluso luego de aumentar por el efecto de la ley.

summary(data_properati_CABA_alq$precio)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##     3809    25000    35000    99695    65000 15073856

Nos guardamos el corte del tercer quintil para omitir los valores extremos del análisis

variableprecioCABAalq <- summary(data_properati_CABA_alq$precio)
Q3CABAalq <- variableprecioCABAalq[5]
Q3CABAalq
## 3rd Qu. 
##   65000

Elpromedio se ve fuertemente impactado por los valores extremos. Intentemos realizarlo cortando por el tercer quintil o utilizando la mediana

data_properati_CABA_alq %>% 
  filter(precio<Q3CABAalq) %>% 
  group_by(fecha) %>%
  summarise(precioprom=round(mean(precio))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=precioprom))+
  geom_point(aes(fecha, y=precioprom))+
  geom_text(aes(fecha, y=precioprom+500, label=precioprom), size=3)+
  labs(title = "Evolución de la variable precio - Capital Federal 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

Conclusiones del gráfico: Vemos que la tendencia ascendente del precio promedio es menos abrupta en entre Jul 2020 y oct 2020, a partir de alli la tendencia es mas pronunciada.

Hacemos el análisis utilizando la mediana

data_properati_CABA_alq %>% 
  group_by(fecha) %>%
  summarise(precioprom=round(median(precio))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=precioprom))+
  geom_point(aes(fecha, y=precioprom))+
  geom_text(aes(fecha, y=precioprom+1000, label=precioprom), size=3)+
  labs(title = "Evolución de la variable precio - Capital Federal 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

Conclusiones del gráfico: el salto ascendente en el precio promedio se da justo antes de Oct del 2 .

Sumamos el corte por el Q3

data_properati_CABA_alq %>% 
  filter(precio<Q3CABAalq) %>% 
  group_by(fecha) %>%
  summarise(precioprom=round(median(precio))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=precioprom))+
  geom_point(aes(fecha, y=precioprom))+
  geom_text(aes(fecha, y=precioprom+1000, label=precioprom), size=3)+
  labs(title = "Evolución de la variable precio - Capital Federal 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

Conclusiones del gráfico: Tiene mayor correlación con los precios que hemos visto y vemos en el mercado de alquileres de Capital Federal.

Analizar el costo de alq x m2

data_properati_CABA_alq %>% 
  group_by(fecha) %>%
  summarise(preciopromxm2=round(median(precioxm2))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=preciopromxm2))+
  geom_point(aes(fecha, y=preciopromxm2))+
  geom_text(aes(fecha, y=preciopromxm2+25, label=preciopromxm2), size=3)+
  labs(title = "Evolución de la variable precio por m2 - Capital Federal 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

Conclusiones del gráfico: Vemos una tendencia ascendente a partir de agosto 2020, se mueve en la misma tendencia.

Qué sucede si cortamos la muestra en Q3

data_properati_CABA_alq %>% 
  filter(precio<Q3CABAalq) %>% 
  group_by(fecha) %>%
  summarise(preciopromxm2=round(median(precioxm2))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=preciopromxm2))+
  geom_point(aes(fecha, y=preciopromxm2))+
  geom_text(aes(fecha, y=preciopromxm2+25, label=preciopromxm2), size=3)+
  labs(title = "Evolución de la variable precio por m2 - Capital Federal 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

Conclusiones del gráfico: El precio por m2 se mueve en la misma tendencia.

Abrir el análisis de precio de alquiler por Barrio

preciopromalq <- data_properati_CABA_alq %>%
  filter(precio<Q3CABAalq) %>% 
  st_set_geometry(NULL) %>%
  group_by(barrio) %>%
  summarise(preciopromalq=median(precio))
preciopromalqxbarrio <- left_join(barrios, preciopromalq, by = "barrio")
ggplot()+
  geom_sf(data=preciopromalqxbarrio, aes(fill=preciopromalq)) +
  geom_sf_label(data=barrios, aes(label = barrio), size=4) +
  scale_fill_distiller(palette = "Spectral") +
  theme_light()+
    labs(title="Precio promedio por Barrio en CABA - 2020-2021",
       subtitle = "Fuente: Properati")+
    theme_void()
## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

Conclusiones del gráfico: el corredor norte hasta puerto madero como lider se caracterizan por tener el mayor precio promedio de alquiler, como lo fue historicamente

Abrir dicho análisis por Barrio, fasetando por mes y año

preciopromalq <- data_properati_CABA_alq %>%
  filter(precio<Q3CABAalq) %>% 
  st_set_geometry(NULL) %>%
  group_by(barrio, fecha) %>%
  summarise(preciopromalq=median(precio))
## `summarise()` has grouped output by 'barrio'. You can override using the `.groups` argument.
preciopromalqxbarrio <- left_join(barrios, preciopromalq, by = "barrio")
ggplot()+
  geom_sf(data=preciopromalqxbarrio, aes(fill=preciopromalq)) +
  geom_sf_label(data=barrios, aes(label = barrio), size=1) +
  scale_fill_distiller(palette = "Spectral") +
  theme_light()+
    labs(title="Precio promedio por Barrio en CABA - 2020-2021",
       subtitle = "Fuente: Properati")+
    theme_void()+facet_wrap(~fecha)
## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

Conclusiones del gráfico: Puerto madero fue perdiendo valor y zona oeste y sur de los barrios de la capital se fueron encareciendo, equiparandose con el corredor norte. La diferencia no es tan marcada como antes.

Evolución del Mercado Inmobiliario de Capital

Gráfico de barras con cantidad de publicaciones mes a mes (enero 2020 - mes actual 2021/22)

ggplot(data_properati_CABA)+
  geom_bar(aes(x=fecha))

Notamos un muy leve decenso en la cantidad de publicaciones, más allá del pico de abril del 2021

Comparación alquileres vs ventas

ggplot(data_properati_CABA)+
  geom_bar(aes(x=fecha, fill = operation_type))

Conclusiones del gráfico:

Evolución del Mercado de venta de inmuebles

Gráfico de líneas con el precio promedio de venta mes a mes (enero 2020 - mes actual 2021/22)

variableprecioCABAventa <- summary(data_properati_CABA_venta$precio)
Q3CABAventa <- variableprecioCABAventa[5]
Q3CABAventa
##  3rd Qu. 
## 40194480
data_properati_CABA_venta %>% 
  group_by(fecha) %>%
  summarise(precioprom=round(mean(precio))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=precioprom))+
  geom_point(aes(fecha, y=precioprom))+
  geom_text(aes(fecha, y=precioprom+5000, label=precioprom), size=3)+
  labs(title = "Evolución de la variable precio en ventas - Capital Federal 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

Sumamos nuestro corte en Q3

data_properati_CABA_venta %>% 
  filter(precio<Q3CABAventa) %>% 
  group_by(fecha) %>%
  summarise(precioprom=round(mean(precio))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=precioprom))+
  geom_point(aes(fecha, y=precioprom))+
  geom_text(aes(fecha, y=precioprom+5000, label=precioprom), size=3)+
  labs(title = "Evolución de la variable precio en ventas - Capital Federal 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

Conclusiones del gráfico:

Veamos qué pasa con la mediana

data_properati_CABA_venta %>% 
  group_by(fecha) %>%
  summarise(precioprom=round(median(precio))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=precioprom))+
  geom_point(aes(fecha, y=precioprom))+
  geom_text(aes(fecha, y=precioprom+5000, label=precioprom), size=3)+
  labs(title = "Evolución de la variable precio en ventas - Capital Federal 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

Cortamos en Q3

data_properati_CABA_venta %>% 
  filter(precio<Q3CABAventa) %>% 
  group_by(fecha) %>%
  summarise(precioprom=round(median(precio))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=precioprom))+
  geom_point(aes(fecha, y=precioprom))+
  geom_text(aes(fecha, y=precioprom+100000, label=precioprom), size=3)+
  labs(title = "Evolución de la variable precio en ventas - Capital Federal 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

Conclusiones del gráfico:

Analizar el costo de venta x m2

data_properati_CABA_venta %>% 
  group_by(fecha) %>%
  summarise(precioprom=round(mean(precioxm2))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=precioprom))+
  geom_point(aes(fecha, y=precioprom))+
  geom_text(aes(fecha, y=precioprom+5000, label=precioprom), size=3)+
  labs(title = "Evolución de la variable precio en ventas - Capital Federal 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

data_properati_CABA_venta %>% 
  filter(precio<Q3CABAventa) %>% 
  group_by(fecha) %>%
  summarise(precioprom=round(mean(precioxm2))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=precioprom))+
  geom_point(aes(fecha, y=precioprom))+
  geom_text(aes(fecha, y=precioprom+5000, label=precioprom), size=3)+
  labs(title = "Evolución de la variable precio en ventas - Capital Federal 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

Conclusiones del gráfico:

Del mismo modo que lo anterior, veamos qué pasa con la mediana

data_properati_CABA_venta %>% 
  group_by(fecha) %>%
  summarise(precioprom=round(median(precioxm2))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=precioprom))+
  geom_point(aes(fecha, y=precioprom))+
  geom_text(aes(fecha, y=precioprom+5000, label=precioprom), size=3)+
  labs(title = "Evolución de la variable precio en ventas - Capital Federal 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

Conclusiones del gráfico:

Abrir el análisis de precio de venta por Barrio

preciopromvta <- data_properati_CABA_venta %>%
  filter(precio<Q3CABAventa) %>% 
  st_set_geometry(NULL) %>%
  group_by(barrio, fecha) %>%
  summarise(preciopromvta=median(precio))
## `summarise()` has grouped output by 'barrio'. You can override using the `.groups` argument.
preciopromvtaxbarrio <- left_join(barrios, preciopromvta, by = "barrio")
ggplot()+
  geom_sf(data=preciopromvtaxbarrio, aes(fill=preciopromvta)) +
  geom_sf_label(data=barrios, aes(label = barrio), size=4) +
  scale_fill_distiller(palette = "Spectral") +
  theme_light()+
    labs(title="Precio promedio por Barrio en CABA - 2020-2021",
       subtitle = "Fuente: Properati")+
    theme_void()
## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

Conclusiones del gráfico:

Abrir dicho análisis por Barrio, fasetando por mes y año

preciopromvta <- data_properati_CABA_venta %>%
  filter(precio<Q3CABAventa) %>% 
  st_set_geometry(NULL) %>%
  group_by(barrio, fecha) %>%
  summarise(preciopromvta=median(precio))
## `summarise()` has grouped output by 'barrio'. You can override using the `.groups` argument.
preciopromvtaxbarrio <- left_join(barrios, preciopromvta, by = "barrio")
ggplot()+
  geom_sf(data=preciopromvtaxbarrio, aes(fill=preciopromvta)) +
  geom_sf_label(data=barrios, aes(label = barrio), size=1) +
  scale_fill_distiller(palette = "Spectral") +
  theme_light()+
    labs(title="Precio promedio por Barrio en CABA - 2020-2021",
       subtitle = "Fuente: Properati")+
    theme_void()+facet_wrap(~fecha)
## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

## Warning in st_point_on_surface.sfc(sf::st_zm(x)): st_point_on_surface may not
## give correct results for longitude/latitude data

Analizar el costo de alq x m2

data_properati_CABA_alq %>% 
  group_by(fecha) %>%
  summarise(precioprom=round(mean(precioxm2))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=precioprom))+
  geom_point(aes(fecha, y=precioprom))+
  geom_text(aes(fecha, y=precioprom+50, label=precioprom), size=3)+
  labs(title = "Evolución de la variable precio en ventas - Capital Federal 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

Conclusiones del gráfico:

Del mismo modo que lo anterior, veamos qué pasa con la mediana

data_properati_CABA_alq %>% 
  group_by(fecha) %>%
  summarise(precioprom=round(median(precioxm2))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=precioprom))+
  geom_point(aes(fecha, y=precioprom))+
  geom_text(aes(fecha, y=precioprom+50, label=precioprom), size=3)+
  labs(title = "Evolución de la variable precio en ventas - Capital Federal 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

Conclusiones del gráfico:

Evolución de las demás Provincias

Gráfico de barras con cantidad de publicaciones por Provincia

ggplot(data_properati_non_CABA)+
  geom_bar(aes(x= l2, fill = l2))+
  coord_flip()

Conclusiones del gráfico: Como se puede observar, las provincias con mayor cantidad de publicaciones son PBA (con primacía de la Zona Norte del GBA), Santa Fe (que supera las 20.000 publicaciones) y Córdoba (con aproximadamente 15.000 publicaciones).

Unificación de GBA

data_properati_non_CABA$l2 <- as.character(data_properati_non_CABA$l2)
data_properati_non_CABA$l2[data_properati_non_CABA$l2 == "Buenos Aires Interior"] <- "Provincia de Buenos Aires"
data_properati_non_CABA$l2[data_properati_non_CABA$l2 == "Buenos Aires Costa Atlántica"] <- "Provincia de Buenos Aires"
data_properati_non_CABA$l2[data_properati_non_CABA$l2 == "Bs.As. G.B.A. Zona Sur"] <- "Provincia de Buenos Aires"
data_properati_non_CABA$l2[data_properati_non_CABA$l2 == "Bs.As. G.B.A. Zona Oeste"] <- "Provincia de Buenos Aires"
data_properati_non_CABA$l2[data_properati_non_CABA$l2 == "Bs.As. G.B.A. Zona Norte"] <- "Provincia de Buenos Aires"
data_properati_non_CABA$l2 <- as.factor(data_properati_non_CABA$l2)
summary(data_properati_non_CABA)
##    start_date            end_date            created_on                 
##  Min.   :2020-05-24   Min.   :2020-05-24   Min.   :2020-05-24 00:00:00  
##  1st Qu.:2020-09-18   1st Qu.:2020-10-25   1st Qu.:2020-09-18 00:00:00  
##  Median :2020-11-27   Median :2021-04-07   Median :2020-11-27 00:00:00  
##  Mean   :2020-12-09   Mean   :3132-06-02   Mean   :2020-12-09 21:07:15  
##  3rd Qu.:2021-03-15   3rd Qu.:2021-06-05   3rd Qu.:2021-03-15 00:00:00  
##  Max.   :2021-06-17   Max.   :9999-12-31   Max.   :2021-06-17 00:00:00  
##                                                                         
##          l1                                 l2                l3       
##  Argentina:153887   Provincia de Buenos Aires:105577   Rosario :18384  
##                     Santa Fe                 : 21283   Tigre   :15959  
##                     Córdoba                  : 14810   Córdoba : 9868  
##                     Neuquén                  :  3153   La Plata: 9660  
##                     Tucumán                  :  3038   Pilar   : 8597  
##                     Río Negro                :  1430   (Other) :87379  
##                     (Other)                  :  4596   NA's    : 4040  
##              l4                        l5            l6         
##  Nordelta     : 5382   BarrioPortezuelo :   425   Mode:logical  
##  La Plata     : 4631   Barrio Los Alisos:   294   NA's:153887   
##  Olivos       : 2660   Barrio El Golf   :   289                 
##  Nueva Córdoba: 2589   Barrio Los Sauces:   167                 
##  Martínez     : 1879   Barrio La Alameda:   153                 
##  (Other)      :60087   (Other)          :   892                 
##  NA's         :76659   NA's             :151667                 
##      rooms           bedrooms         bathrooms      surface_total     
##  Min.   : 1.000   Min.   :  0.000   Min.   : 1.000   Min.   :  -136.0  
##  1st Qu.: 2.000   1st Qu.:  1.000   1st Qu.: 1.000   1st Qu.:    53.0  
##  Median : 3.000   Median :  2.000   Median : 1.000   Median :    94.0  
##  Mean   : 3.353   Mean   :  2.378   Mean   : 1.776   Mean   :   197.4  
##  3rd Qu.: 4.000   3rd Qu.:  3.000   3rd Qu.: 2.000   3rd Qu.:   200.0  
##  Max.   :40.000   Max.   :123.000   Max.   :20.000   Max.   :175000.0  
##  NA's   :29129    NA's   :21385     NA's   :10114    NA's   :53578     
##  surface_covered         price            currency      price_period   
##  Min.   :        1   Min.   :         0   ARS: 36464   Mensual:153887  
##  1st Qu.:       60   1st Qu.:     37000   USD:117423                   
##  Median :      135   Median :     98000                                
##  Mean   :     2032   Mean   :    386164                                
##  3rd Qu.:      535   3rd Qu.:    210000                                
##  Max.   :111111111   Max.   :3100000000                                
##                                                                        
##       property_type    operation_type    Cotiz_dolar        precio          
##  Casa        :71054   Alquiler: 43685   Min.   :112.6   Min.   :         0  
##  Departamento:74713   Venta   :110202   1st Qu.:123.4   1st Qu.:    408548  
##  PH          : 8120                     Median :134.1   Median :  12188088  
##                                         Mean   :135.8   Mean   :  20701770  
##                                         3rd Qu.:149.9   3rd Qu.:  26256038  
##                                         Max.   :157.3   Max.   :3714170625  
##                                                                             
##    precioxm2            fecha              año_mes         
##  Min.   :       0   Min.   :2020-05-01   Length:153887     
##  1st Qu.:    1562   1st Qu.:2020-09-01   Class :character  
##  Median :  118188   Median :2020-11-01   Mode  :character  
##  Mean   :  157933   Mean   :2020-11-26                     
##  3rd Qu.:  229653   3rd Qu.:2021-03-01                     
##  Max.   :86168610   Max.   :2021-06-01                     
##                                                            
##           geometry           gid         entidad     objeto         
##  POINT        :153887   Min.   :290   Min.   :0   Length:153887     
##  epsg:4326    :     0   1st Qu.:290   1st Qu.:0   Class :character  
##  +proj=long...:     0   Median :290   Median :0   Mode  :character  
##                         Mean   :290   Mean   :0                     
##                         3rd Qu.:290   3rd Qu.:0                     
##                         Max.   :290   Max.   :0                     
##                                                                     
##      fna                gna                nam                fdc           
##  Length:153887      Length:153887      Length:153887      Length:153887     
##  Class :character   Class :character   Class :character   Class :character  
##  Mode  :character   Mode  :character   Mode  :character   Mode  :character  
##                                                                             
##                                                                             
##                                                                             
##                                                                             
##      sag           
##  Length:153887     
##  Class :character  
##  Mode  :character  
##                    
##                    
##                    
## 

Seleccionar las 3 provincias con mayor volumen de publicaciones

ggplot(data_properati_non_CABA)+
  geom_bar(aes(x= l2, fill = l2))+
  coord_flip()

Conclusiones del gráfico: En este gráfico observamos que, si bien son 3 las provincias que se destacan por la cantidad de publicaciones, la Provincia de Buenos Aires (en este gráfico visualizada en su conjunto) supera ampliamente a las demás, alcanzando un total de más de 100.000 publicaciones.

Provincia 1 - GBA

Gráfico de líneas con el precio promedio de alquiler mes a mes (enero 2020 - mes actual 2021/22)

data_properati_non_CABA %>% 
  filter(l2 == "Provincia de Buenos Aires") %>% 
  filter(operation_type == "Alquiler") %>% 
  group_by(fecha) %>%
  summarise(precioprom=round(median(precio))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=precioprom))+
  geom_point(aes(fecha, y=precioprom))+
  geom_text(aes(fecha, y=precioprom+10000, label=precioprom), size=3)+
  labs(title = "Evolución de la variable precio de alquiler - Provincia de Buenos Aires 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

Conclusiones del gráfico: En relación a la evolución de la variable precio de alquiler en la Provincia de Buenos Aires 2020-2021, podemos observar que el pico máximo se alcanza en el segundo semestre del año 2020. Hacia principios de 2021 empieza a descender aunque no recupera los valores bajos del primer semestre del año 2020 y mantiene una estabilidad en los meses siguientes.

Comparación alquileres vs ventas

ggplot(data_properati_non_CABA %>% filter(l2 == "Provincia de Buenos Aires"))+
  geom_bar(aes(x=fecha, fill = operation_type))

Conclusiones del gráfico: En todos los meses analizados se observa una mayor cantidad de propiedades a la venta que en alquiler.

Gráfico de líneas con el precio promedio de venta mes a mes (enero 2020 - mes actual 2021/22)

data_properati_non_CABA %>% 
  filter(l2 == "Provincia de Buenos Aires") %>% 
  filter(operation_type == "Venta") %>% 
  group_by(fecha) %>%
  summarise(precioprom=round(median(precio))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=precioprom))+
  geom_point(aes(fecha, y=precioprom))+
  geom_text(aes(fecha, y=precioprom+1000, label=precioprom), size=3)+
  labs(title = "Evolución de la variable precio de venta - Provincia de Buenos Aires 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

Conclusiones del gráfico: El gráfico nos muestra que luego de subas y bajas reiteradas de los precios de venta en la Provincia de Buenos Aires, desde enero de 2021 comienza cierta estabilidad de los valores.

Provincia 1 - Córdoba

Gráfico de líneas con el precio promedio de alquiler mes a mes (enero 2020 - mes actual 2021/22)

data_properati_non_CABA %>% 
  filter(l2 == "Córdoba") %>% 
  filter(operation_type == "Alquiler") %>% 
  group_by(fecha) %>%
  summarise(precioprom=round(median(precio))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=precioprom))+
  geom_point(aes(fecha, y=precioprom))+
  geom_text(aes(fecha, y=precioprom+1000, label=precioprom), size=3)+
  labs(title = "Evolución de la variable precio de alquiler - Provincia de Córdoba - 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

Conclusiones del gráfico: El valor más elevado se encuentra promediando el año 2021.

Comparación alquileres vs ventas

ggplot(data_properati_non_CABA %>% filter(l2 == "Córdoba"))+
  geom_bar(aes(x=fecha, fill = operation_type))

Conclusiones del gráfico: Se observa una mayor cantidad de propiedades en venta que en alquiler en todos los meses de estudio.

Gráfico de líneas con el precio promedio de venta mes a mes (enero 2020 - mes actual 2021/22)

data_properati_non_CABA %>% 
  filter(l2 == "Córdoba") %>% 
  filter(operation_type == "Venta") %>% 
  group_by(fecha) %>%
  summarise(precioprom=round(median(precio))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=precioprom))+
  geom_point(aes(fecha, y=precioprom))+
  geom_text(aes(fecha, y=precioprom+1000, label=precioprom), size=3)+
  labs(title = "Evolución de la variable precio de venta - Provincia de Córdoba 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

Conclusiones del gráfico: En el año 2020 se pueden observar subas y bajas reiteradas en los precios de venta. En el año 2021 los valores del precio de venta en la Provincia de Córdoba empiezan a subir hacia principio de año para descender en el mes de abril y luego volver a aumentar hacia mitad del año 2021.

Provincia 1 - Santa Fe

Gráfico de líneas con el precio promedio de alquiler mes a mes (enero 2020 - mes actual 2021/22)

data_properati_non_CABA %>% 
  filter(l2 == "Santa Fe") %>% 
  filter(operation_type == "Alquiler") %>% 
  group_by(fecha) %>%
  summarise(precioprom=round(median(precio))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=precioprom))+
  geom_point(aes(fecha, y=precioprom))+
  geom_text(aes(fecha, y=precioprom+1000, label=precioprom), size=3)+
  labs(title = "Evolución de la variable precio de alquiler - Provincia de Santa Fe - 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

Conclusiones del gráfico: Luego del primer semestre del año 2020, el precio de los alquileres comienza a aumentar hasta lograr una estabilidad hacia los últimos meses del mismo año. Posteriormente vuelve a ascender en los cinco primeros meses del año 2021 y después experimenta una baja.

Comparación alquileres vs ventas

ggplot(data_properati_non_CABA %>% filter(l2 == "Santa Fe"))+
  geom_bar(aes(x=fecha, fill = operation_type))

Conclusiones del gráfico: Se observa, como en las provincias analizadas anteriormente, que hay una mayor cantidad de publicaciones de propiedades a la venta por sobre las de alquiler.

Gráfico de líneas con el precio promedio de venta mes a mes (enero 2020 - mes actual 2021/22)

data_properati_non_CABA %>% 
  filter(l2 == "Santa Fe") %>% 
  filter(operation_type == "Venta") %>% 
  group_by(fecha) %>%
  summarise(precioprom=round(median(precio))) %>% 
  ggplot() +
  geom_line(aes(fecha, y=precioprom))+
  geom_point(aes(fecha, y=precioprom))+
  geom_text(aes(fecha, y=precioprom+1000, label=precioprom), size=3)+
  labs(title = "Evolución de la variable precio de venta - Provincia de Santa Fe 2020 - 2021", 
       subtitle  = "Fuentes: PROPERATI")
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar
## although coordinates are longitude/latitude, st_union assumes that they are planar

Conclusiones del gráfico: En relación a los precios de venta, se observa un pico hacia finales del 2020 con una gran baja de los mismos en enero de 2021 para luego volver a subir y descender hacia abril que finalmente hay un aumento considerable de los mismos para luego lograr cierta estabilidad.

Conclusiones Finales del Análisis: Como impactó la Nueva Ley de Alquileres en el Mercado Inmobiliario